package com.platform.modules.sys.dao;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.platform.modules.sys.entity.SysUserEntity;

/**
 * 系统用户
 *
 * @author 肖亮
 */
@Mapper
public interface SysUserDao extends BaseMapper<SysUserEntity> {

    /**
     * 查询用户的所有权限
     *
     * @param userId 用户ID
     * @return List
     */
    List<String> queryAllPerms(String userId);

    /**
     * 查询用户的所有菜单ID
     *
     * @param userId 用户ID
     * @return List
     */
    List<String> queryAllMenuId(String userId);

    /**
     * 分页查询
     *
     * @param page   分页参数
     * @param params 查询参数
     * @return List
     */
    List<SysUserEntity> selectListPage(Page<SysUserEntity> page, @Param("params") Map<String, Object> params);

    List<SysUserEntity> selectListPage1(Page<SysUserEntity> page, @Param("params") Map<String, Object> params);
    List<SysUserEntity> selectListPage1(@Param("params") Map<String, Object> params);

    List<SysUserEntity> selectUserList(@Param("params") Map<String, Object> params);

    /**
     * 查询所有
     *
     * @param params 查询参数
     * @return List
     */
    List<SysUserEntity> selectListPage(@Param("params") Map<String, Object> params);

    /**
     * @Auther: Zhouxw
     * @Date: 2019-6-28 10:08
     * @Description: 根据机构ID获取管理员用户ID
     */
    String getAdminUserIdByOrg(@Param("orgNo") String orgNo);
    
    /**
     * @Auther:wangLc 
     * @Date: 2019-7-16 10:08
     * @Description: 根据菜单表的 PERMS（授权）查询相应人员
     */
    List<SysUserEntity> selectFlowUser(@Param("params") Map<String, Object> params);
}
